Autogenerated HTML docs for v2.33.0-328-g8b7c1 
diff --git a/MyFirstObjectWalk.html b/MyFirstObjectWalk.html index 602f926..a0f5c27 100644 --- a/MyFirstObjectWalk.html +++ b/MyFirstObjectWalk.html 
@@ -1512,7 +1512,7 @@  help understand. In our case, that means we omit trees and blobs not directly   referenced by <code>HEAD</code> or <code>HEAD</code>'s history, because we begin the walk with only   <code>HEAD</code> in the <code>pending</code> list.)</p></div>  -<div class="paragraph"><p>First, we&#8217;ll need to <code>#include "list-objects-filter-options.h</code>" and set up the  +<div class="paragraph"><p>First, we&#8217;ll need to <code>#include "list-objects-filter-options.h"</code> and set up the   <code>struct list_objects_filter_options</code> at the top of the function.</p></div>   <div class="listingblock">   <div class="content">  @@ -1594,7 +1594,7 @@  while ((oid = oidset_iter_next(&amp;oit)))   omitted_count++;    - printf("commits %d\nblobs %d\ntags %d\ntrees%d\nomitted %d\n",  + printf("commits %d\nblobs %d\ntags %d\ntrees %d\nomitted %d\n",   commit_count, blob_count, tag_count, tree_count, omitted_count);</code></pre>   </div></div>   <div class="paragraph"><p>By running your walk with and without the filter, you should find that the total  @@ -1717,7 +1717,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2020-12-08 16:10:07 PST  + 2021-09-10 12:51:28 PDT   </div>   </div>   </body>  
diff --git a/MyFirstObjectWalk.txt b/MyFirstObjectWalk.txt index 2d10eea..45eb84d 100644 --- a/MyFirstObjectWalk.txt +++ b/MyFirstObjectWalk.txt 
@@ -691,7 +691,7 @@  referenced by `HEAD` or `HEAD`'s history, because we begin the walk with only  `HEAD` in the `pending` list.)   -First, we'll need to `#include "list-objects-filter-options.h`" and set up the +First, we'll need to `#include "list-objects-filter-options.h"` and set up the  `struct list_objects_filter_options` at the top of the function.    ---- @@ -779,7 +779,7 @@ 	while ((oid = oidset_iter_next(&oit))) 	omitted_count++;   -	printf("commits %d\nblobs %d\ntags %d\ntrees%d\nomitted %d\n", +	printf("commits %d\nblobs %d\ntags %d\ntrees %d\nomitted %d\n", 	commit_count, blob_count, tag_count, tree_count, omitted_count);  ----   
diff --git a/RelNotes/2.34.0.txt b/RelNotes/2.34.0.txt index 4cb0b8f..d21a63e 100644 --- a/RelNotes/2.34.0.txt +++ b/RelNotes/2.34.0.txt 
@@ -14,6 +14,26 @@    * The userdiff pattern for "java" language has been updated.   + * "git rebase" by default skips changes that are equivalent to + commits that are already in the history the branch is rebased onto; + give messages when this happens to let the users be aware of + skipped commits, and also teach them how to tell "rebase" to keep + duplicated changes. + + * The advice message that "git cherry-pick" gives when it asks + conflicted replay of a commit to be resolved by the end user has + been updated. + + * After "git clone --recurse-submodules", all submodules are cloned + but they are not by default recursed into by other commands. With + submodule.stickyRecursiveClone configuration set, submodule.recurse + configuration is set to true in a repository created by "clone" + with "--recurse-submodules" option. + + * The logic for auto-correction of misspelt subcommands learned to go + interactive when the help.autocorrect configuration variable is set + to 'prompt'. +    Performance, Internal Implementation, Development Support etc.   @@ -48,6 +68,12 @@  of the commit-graph, when available, to determine if a commit is  reachable from any of the existing refs.   + * "git fetch --quiet" optimization to avoid useless computation of + info that will never be displayed. + + * Callers from older advice_config[] based API has been updated to + use the newer advice_if_enabled() and advice_enabled() API. +    Fixes since v2.33  ----------------- @@ -115,6 +141,33 @@  corrected.  (merge c93ca46cf5 sg/column-nl later to maint).   + * "git upload-pack" which runs on the other side of "git fetch" + forgot to take the ref namespaces into account when handling + want-ref requests. + (merge 53a66ec37c ka/want-ref-in-namespace later to maint). + + * The sparse-index support can corrupt the index structure by storing + a stale and/or uninitialized data, which has been corrected. + (merge d9e9b44d7a jh/sparse-index-resize-fix later to maint). + + * Buggy tests could damage repositories outside the throw-away test + area we created. We now by default export GIT_CEILING_DIRECTORIES + to limit the damage from such a stray test. + (merge 614c3d8f2e sg/set-ceiling-during-tests later to maint). + + * Even when running "git send-email" without its own threaded + discussion support, a threading related header in one message is + carried over to the subsequent message to result in an unwanted + threading, which has been corrected. + (merge e082113484 mh/send-email-reset-in-reply-to later to maint). + + * The output from "git fast-export", when its anonymization feature + is in use, showed an annotated tag incorrectly. + (merge 2f040a9671 tk/fast-export-anonymized-tag-fix later to maint). + + * Doc update plus improved error reporting. + (merge 1e93770888 jk/log-warn-on-bogus-encoding later to maint). +  * Other code cleanup, docfix, build fix, etc.  (merge 1d9c8daef8 ab/bundle-doc later to maint).  (merge 81483fe613 en/merge-strategy-docs later to maint). @@ -133,3 +186,11 @@  (merge 5146c2f148 mh/credential-leakfix later to maint).  (merge 1549577338 dd/t6300-wo-gpg-fix later to maint).  (merge 66e905b7dd rs/xopen-reports-open-failures later to maint). + (merge 469888e6a5 es/walken-tutorial-fix later to maint). + (merge 88682b016d ba/object-info later to maint). + (merge b45c172e51 ab/gc-log-rephrase later to maint). + (merge ccdd5d1eb1 ab/mailmap-leakfix later to maint). + (merge 6540b71614 cb/remote-ndebug-fix later to maint). + (merge e4f8d27585 rs/show-branch-simplify later to maint). + (merge e124ecf7f7 rs/archive-use-object-id later to maint). + (merge cebead1ebf cb/ci-build-pedantic later to maint). 
diff --git a/git-config.html b/git-config.html index f442117..496469a 100644 --- a/git-config.html +++ b/git-config.html 
@@ -1967,6 +1967,15 @@  </p>   </dd>   <dt class="hdlist1">  +skippedCherryPicks  +</dt>  +<dd>  +<p>  + Shown when <a href="git-rebase.html">git-rebase(1)</a> skips a commit that has already  + been cherry-picked onto the upstream branch.  +</p>  +</dd>  +<dt class="hdlist1">   statusAheadBehind   </dt>   <dd>  @@ -5956,7 +5965,7 @@  </dt>   <dd>   <p>  - Specifies the default encoding to use for displaying of  + Specifies the default character encoding to use for displaying of   file contents in <a href="git-gui.html">git-gui(1)</a> and <a href="gitk.html">gitk(1)</a>.   It can be overridden by setting the <em>encoding</em> attribute   for relevant files (see <a href="gitattributes.html">gitattributes(5)</a>).  @@ -6168,14 +6177,38 @@  <dd>   <p>   If git detects typos and can identify exactly one valid command similar  - to the error, git will automatically run the intended command after  - waiting a duration of time defined by this configuration value in  - deciseconds (0.1 sec). If this value is 0, the suggested corrections  - will be shown, but not executed. If it is a negative integer, or  - "immediate", the suggested command  - is run immediately. If "never", suggestions are not shown at all. The  - default value is zero.  + to the error, git will try to suggest the correct command or even  + run the suggestion automatically. Possible config values are:   </p>  +<div class="ulist"><ul>  +<li>  +<p>  +0 (default): show the suggested command.  +</p>  +</li>  +<li>  +<p>  +positive number: run the suggested command after specified  +deciseconds (0.1 sec).  +</p>  +</li>  +<li>  +<p>  +"immediate": run the suggested command immediately.  +</p>  +</li>  +<li>  +<p>  +"prompt": show the suggestion and prompt for confirmation to run  +the command.  +</p>  +</li>  +<li>  +<p>  +"never": don&#8217;t run or show any suggested command.  +</p>  +</li>  +</ul></div>   </dd>   <dt class="hdlist1">   help.htmlPath  @@ -10021,13 +10054,16 @@  If you have multiple hideRefs values, later entries override earlier ones   (and entries in more-specific config files override less-specific ones).</p></div>   <div class="paragraph"><p>If a namespace is in use, the namespace prefix is stripped from each  -reference before it is matched against <code>transfer.hiderefs</code> patterns.  -For example, if <code>refs/heads/master</code> is specified in <code>transfer.hideRefs</code> and  +reference before it is matched against <code>transfer.hiderefs</code> patterns. In  +order to match refs before stripping, add a <code>^</code> in front of the ref name. If  +you combine <code>!</code> and <code>^</code>, <code>!</code> must be specified first.</p></div>  +<div class="paragraph"><p>For example, if <code>refs/heads/master</code> is specified in <code>transfer.hideRefs</code> and   the current namespace is <code>foo</code>, then <code>refs/namespaces/foo/refs/heads/master</code>  -is omitted from the advertisements but <code>refs/heads/master</code> and  -<code>refs/namespaces/bar/refs/heads/master</code> are still advertised as so-called  -"have" lines. In order to match refs before stripping, add a <code>^</code> in front of  -the ref name. If you combine <code>!</code> and <code>^</code>, <code>!</code> must be specified first.</p></div>  +is omitted from the advertisements. If <code>uploadpack.allowRefInWant</code> is set,  +<code>upload-pack</code> will treat <code>want-ref refs/heads/master</code> in a protocol v2  +<code>fetch</code> command as if <code>refs/namespaces/foo/refs/heads/master</code> did not exist.  +<code>receive-pack</code>, on the other hand, will still advertise the object id the  +ref is pointing to without mentioning its name (a so-called ".have" line).</p></div>   <div class="paragraph"><p>Even if you hide refs, a client may still be able to steal the target   objects via the techniques described in the "SECURITY" section of the   <a href="gitnamespaces.html">gitnamespaces(7)</a> man page; it&#8217;s best to keep private data in a  
diff --git a/git-diff-tree.html b/git-diff-tree.html index 07db999..b7f9a5e 100644 --- a/git-diff-tree.html +++ b/git-diff-tree.html 
@@ -2207,14 +2207,16 @@  </dt>   <dd>   <p>  - The commit objects record the encoding used for the log message  + Commit objects record the character encoding used for the log message   in their encoding header; this option can be used to tell the   command to re-code the commit log message in the encoding   preferred by the user. For non plumbing commands this   defaults to UTF-8. Note that if an object claims to be encoded   in <code>X</code> and we are outputting in <code>X</code>, we will output the object   verbatim; this means that invalid sequences in the original  - commit may be copied to the output.  + commit may be copied to the output. Likewise, if iconv(3) fails  + to convert the commit, we will output the original object  + verbatim, along with a warning.   </p>   </dd>   <dt class="hdlist1">  
diff --git a/git-log.html b/git-log.html index fdafa14..f2d8a3a 100644 --- a/git-log.html +++ b/git-log.html 
@@ -2155,14 +2155,16 @@  </dt>   <dd>   <p>  - The commit objects record the encoding used for the log message  + Commit objects record the character encoding used for the log message   in their encoding header; this option can be used to tell the   command to re-code the commit log message in the encoding   preferred by the user. For non plumbing commands this   defaults to UTF-8. Note that if an object claims to be encoded   in <code>X</code> and we are outputting in <code>X</code>, we will output the object   verbatim; this means that invalid sequences in the original  - commit may be copied to the output.  + commit may be copied to the output. Likewise, if iconv(3) fails  + to convert the commit, we will output the original object  + verbatim, along with a warning.   </p>   </dd>   <dt class="hdlist1">  
diff --git a/git-rebase.html b/git-rebase.html index 7e01202..554e813 100644 --- a/git-rebase.html +++ b/git-rebase.html 
@@ -815,9 +815,10 @@  remain the checked-out branch.</p></div>   <div class="paragraph"><p>If the upstream branch already contains a change you have made (e.g.,   because you mailed a patch which was applied upstream), then that commit  -will be skipped. For example, running <code>git rebase master</code> on the  -following history (in which <code>A'</code> and <code>A</code> introduce the same set of changes,  -but have different committer information):</p></div>  +will be skipped and warnings will be issued (if the <code>merge</code> backend is  +used). For example, running <code>git rebase master</code> on the following  +history (in which <code>A'</code> and <code>A</code> introduce the same set of changes, but  +have different committer information):</p></div>   <div class="listingblock">   <div class="content">   <pre><code> A---B---C topic  @@ -1089,7 +1090,10 @@  <div class="paragraph"><p>By default (or if <code>--no-reapply-cherry-picks</code> is given), these commits   will be automatically dropped. Because this necessitates reading all   upstream commits, this can be expensive in repos with a large number  -of upstream commits that need to be read.</p></div>  +of upstream commits that need to be read. When using the <code>merge</code>  +backend, warnings will be issued for each dropped commit (unless  +<code>--quiet</code> is given). Advice will also be issued unless  +<code>advice.skippedCherryPicks</code> is set to false (see <a href="git-config.html">git-config(1)</a>).</p></div>   <div class="paragraph"><p><code>--reapply-cherry-picks</code> allows rebase to forgo reading all upstream   commits, potentially improving performance.</p></div>   <div class="paragraph"><p>See also INCOMPATIBLE OPTIONS below.</p></div>  @@ -2789,7 +2793,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-08-30 16:49:46 PDT  + 2021-09-10 12:51:28 PDT   </div>   </div>   </body>  
diff --git a/git-rebase.txt b/git-rebase.txt index 3f1030d..506345c 100644 --- a/git-rebase.txt +++ b/git-rebase.txt 
@@ -79,9 +79,10 @@    If the upstream branch already contains a change you have made (e.g.,  because you mailed a patch which was applied upstream), then that commit -will be skipped. For example, running `git rebase master` on the -following history (in which `A'` and `A` introduce the same set of changes, -but have different committer information): +will be skipped and warnings will be issued (if the `merge` backend is +used). For example, running `git rebase master` on the following +history (in which `A'` and `A` introduce the same set of changes, but +have different committer information):    ------------  A---B---C topic @@ -312,7 +313,10 @@  By default (or if `--no-reapply-cherry-picks` is given), these commits  will be automatically dropped. Because this necessitates reading all  upstream commits, this can be expensive in repos with a large number -of upstream commits that need to be read. +of upstream commits that need to be read. When using the `merge` +backend, warnings will be issued for each dropped commit (unless +`--quiet` is given). Advice will also be issued unless +`advice.skippedCherryPicks` is set to false (see linkgit:git-config[1]).  +  `--reapply-cherry-picks` allows rebase to forgo reading all upstream  commits, potentially improving performance. 
diff --git a/git-rev-list.html b/git-rev-list.html index c378f7c..8106773 100644 --- a/git-rev-list.html +++ b/git-rev-list.html 
@@ -2275,14 +2275,16 @@  </dt>   <dd>   <p>  - The commit objects record the encoding used for the log message  + Commit objects record the character encoding used for the log message   in their encoding header; this option can be used to tell the   command to re-code the commit log message in the encoding   preferred by the user. For non plumbing commands this   defaults to UTF-8. Note that if an object claims to be encoded   in <code>X</code> and we are outputting in <code>X</code>, we will output the object   verbatim; this means that invalid sequences in the original  - commit may be copied to the output.  + commit may be copied to the output. Likewise, if iconv(3) fails  + to convert the commit, we will output the original object  + verbatim, along with a warning.   </p>   </dd>   <dt class="hdlist1">  
diff --git a/git-show.html b/git-show.html index ff15fe1..d908ad6 100644 --- a/git-show.html +++ b/git-show.html 
@@ -841,14 +841,16 @@  </dt>   <dd>   <p>  - The commit objects record the encoding used for the log message  + Commit objects record the character encoding used for the log message   in their encoding header; this option can be used to tell the   command to re-code the commit log message in the encoding   preferred by the user. For non plumbing commands this   defaults to UTF-8. Note that if an object claims to be encoded   in <code>X</code> and we are outputting in <code>X</code>, we will output the object   verbatim; this means that invalid sequences in the original  - commit may be copied to the output.  + commit may be copied to the output. Likewise, if iconv(3) fails  + to convert the commit, we will output the original object  + verbatim, along with a warning.   </p>   </dd>   <dt class="hdlist1">  
diff --git a/howto/coordinate-embargoed-releases.html b/howto/coordinate-embargoed-releases.html index e716c8c..cd48288 100644 --- a/howto/coordinate-embargoed-releases.html +++ b/howto/coordinate-embargoed-releases.html 
@@ -873,7 +873,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:56 PDT  + 2021-09-10 12:52:20 PDT   </div>   </div>   </body>  
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html index ab7107f..47dfcf3 100644 --- a/howto/keep-canonical-history-correct.html +++ b/howto/keep-canonical-history-correct.html 
@@ -938,7 +938,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:56 PDT  + 2021-09-10 12:52:20 PDT   </div>   </div>   </body>  
diff --git a/howto/maintain-git.html b/howto/maintain-git.html index e2a81b9..814fd3b 100644 --- a/howto/maintain-git.html +++ b/howto/maintain-git.html 
@@ -1469,7 +1469,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:56 PDT  + 2021-09-10 12:52:20 PDT   </div>   </div>   </body>  
diff --git a/howto/new-command.html b/howto/new-command.html index 99ac5fa..80a7181 100644 --- a/howto/new-command.html +++ b/howto/new-command.html 
@@ -863,7 +863,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:50 PDT  + 2021-09-10 12:52:16 PDT   </div>   </div>   </body>  
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html index d840082..58eeb9e 100644 --- a/howto/rebase-from-internal-branch.html +++ b/howto/rebase-from-internal-branch.html 
@@ -895,7 +895,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:55 PDT  + 2021-09-10 12:52:20 PDT   </div>   </div>   </body>  
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html index 1cf354a..54a6756 100644 --- a/howto/rebuild-from-update-hook.html +++ b/howto/rebuild-from-update-hook.html 
@@ -847,7 +847,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:55 PDT  + 2021-09-10 12:52:20 PDT   </div>   </div>   </body>  
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html index 1b3bacf..888db18 100644 --- a/howto/recover-corrupted-blob-object.html +++ b/howto/recover-corrupted-blob-object.html 
@@ -880,7 +880,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:54 PDT  + 2021-09-10 12:52:19 PDT   </div>   </div>   </body>  
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html index ba02061..e496044 100644 --- a/howto/recover-corrupted-object-harder.html +++ b/howto/recover-corrupted-object-harder.html 
@@ -1189,7 +1189,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:55 PDT  + 2021-09-10 12:52:20 PDT   </div>   </div>   </body>  
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html index 64a4044..aa64e38 100644 --- a/howto/revert-a-faulty-merge.html +++ b/howto/revert-a-faulty-merge.html 
@@ -1025,7 +1025,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:53 PDT  + 2021-09-10 12:52:19 PDT   </div>   </div>   </body>  
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html index 1e549ce..aa79f5f 100644 --- a/howto/revert-branch-rebase.html +++ b/howto/revert-branch-rebase.html 
@@ -907,7 +907,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:50 PDT  + 2021-09-10 12:52:17 PDT   </div>   </div>   </body>  
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html index 7f47a66..ec9b69e 100644 --- a/howto/separating-topic-branches.html +++ b/howto/separating-topic-branches.html 
@@ -841,7 +841,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:53 PDT  + 2021-09-10 12:52:19 PDT   </div>   </div>   </body>  
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html index 8dc311b..5d578f7 100644 --- a/howto/setup-git-server-over-http.html +++ b/howto/setup-git-server-over-http.html 
@@ -1071,7 +1071,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:52 PDT  + 2021-09-10 12:52:18 PDT   </div>   </div>   </body>  
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html index 13c7ba7..a0e0233 100644 --- a/howto/update-hook-example.html +++ b/howto/update-hook-example.html 
@@ -930,7 +930,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:52 PDT  + 2021-09-10 12:52:18 PDT   </div>   </div>   </body>  
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html index dd5d26c..6a8b6e0 100644 --- a/howto/use-git-daemon.html +++ b/howto/use-git-daemon.html 
@@ -791,7 +791,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:51 PDT  + 2021-09-10 12:52:18 PDT   </div>   </div>   </body>  
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html index 809616e..6a5f599 100644 --- a/howto/using-merge-subtree.html +++ b/howto/using-merge-subtree.html 
@@ -848,7 +848,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:51 PDT  + 2021-09-10 12:52:17 PDT   </div>   </div>   </body>  
diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html index 24aba46..eabf74d 100644 --- a/howto/using-signed-tag-in-pull-request.html +++ b/howto/using-signed-tag-in-pull-request.html 
@@ -952,7 +952,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2021-09-08 14:21:51 PDT  + 2021-09-10 12:52:17 PDT   </div>   </div>   </body>  
diff --git a/pretty-options.txt b/pretty-options.txt index 27ddaf8..b3af850 100644 --- a/pretty-options.txt +++ b/pretty-options.txt 
@@ -33,14 +33,16 @@ 	used together.    --encoding=<encoding>:: -	The commit objects record the encoding used for the log message +	Commit objects record the character encoding used for the log message 	in their encoding header; this option can be used to tell the 	command to re-code the commit log message in the encoding 	preferred by the user. For non plumbing commands this 	defaults to UTF-8. Note that if an object claims to be encoded 	in `X` and we are outputting in `X`, we will output the object 	verbatim; this means that invalid sequences in the original -	commit may be copied to the output. +	commit may be copied to the output. Likewise, if iconv(3) fails +	to convert the commit, we will output the original object +	verbatim, along with a warning.    --expand-tabs=<n>::  --expand-tabs::